//解析请求

async function param(req,res){
    //封装一下res , 执行return必然会执行到这里，在这里清除掉异步全局变量池，防止内存泄漏
    res.return = function(data){try{(typeof data)=='string'?(res.end(data)):(res.end(JSON.stringify(data)));}catch(err){res.end(data);}}
    res.dd = function(data){res.return(data);throw Error("dd");}
    res.echo = function(data){res.write(JSON.stringify(data));}
    
    //存储请求的浏览器信息
    let arr = req.headers["user-agent"].split('/');
    req.browser = arr[arr.length-2];
    switch (req.method) {
        case "GET":
            await loader("get")(req);break;
        case "POST":
            await loader('post')(req);break;
        default:
            return false;
    }
    return true;
}

//解析url
function parsurl(req){
    req._url = loader('url')(req.url)
}

//解析请求参数
exports.param = param;
//解析url
exports.parsurl=parsurl;